﻿using SeCompUFSCarWeb.Evento;
using SeCompUFSCarWeb.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SeCompUFSCarWeb.Administration
{
    public partial class ConfirmacaoPagamento : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Confirmar_Click(object sender, EventArgs e)
        {

            //ID, Pagamento, Churrasco
            SignUp user = new SignUp();
            user.Id = Convert.ToInt32(PgInscricao.Text);
            user.Payment = true;
            user.Barbecue = Convert.ToBoolean(Churras.SelectedIndex);


            if(user.EfetuarPagamento())
            {
                PgStatus.Text = "Pagamento Confirmado com Sucesso.";
                user.VerificaInscricaoByID();

                EnviarEmail(user.Id, UsuarioAspNet.Email(user.UserID));
            }
            else
                PgStatus.Text = "Deu merda vei, só digo isso!";



            PgInscricao.Text = "";
            PgInscricaoEmail.Text = "";
            Churras.SelectedIndex = 0;
            Confirmar.Enabled = false;

        }

        private bool EnviarEmail(int id, string email)
        {
            string htmlCode = System.IO.File.ReadAllText(Server.MapPath("~/Emails/ConfirmacaoDePagamento.html"));

            htmlCode = htmlCode.Replace("#INSCRICAO", id.ToString()); ;

            return Mail.Send(email, htmlCode, "Confirmação de Pagamento V SeComp UFSCar");
        }

        protected void btnCheck_Click(object sender, EventArgs e)
        {
            VerificaInscricao(Convert.ToInt32(PgInscricao.Text));
        }

        protected void btnEmail_Click(object sender, EventArgs e)
        {
            string id = UsuarioAspNet.Id(PgInscricaoEmail.Text);
            if ( id == "")
            {
                PgStatus.Text = "Ocorreu um erro inesperado, possívelmente esse usuário não está cadastrado no sistema" ;
                Confirmar.Enabled = false;
            }
            else
            {
                SignUp user = new SignUp();
                user.UserID = id;

                user.VerificaInscricaoByUserID();
                VerificaInscricao(user.Id);
            }
            
            
        }

        protected void VerificaInscricao(int inscricaoID)
        {
            SignUp user = new SignUp();
            user.Id = inscricaoID;

            if (user.VerificaInscricaoByID())
            {
                if (user.Payment)
                {
                    PgStatus.Text = "Usuário Inscrito sob número " + user.Id + " no pacote: " + user.Pack + " inscrição PAGA.";
                    PgInscricao.Text = "PAGO";
                    Confirmar.Enabled = false;
                }
                else
                {
                    PgStatus.Text = "Usuário Inscrito sob número " + user.Id + " no pacote: " + user.Pack + ".";
                    PgInscricao.Text = user.Id.ToString();
                    Confirmar.Enabled = true;

                }

                Churras.SelectedIndex = Convert.ToInt32(user.Barbecue);

            }
            else
            {
                PgStatus.Text = "Nenhuma Informação Encontrada.";
                PgInscricao.Text = "";
                Churras.SelectedIndex = 0;
                Confirmar.Enabled = false;
            }
        }
    }
}